Systems and methods for populating user information on electronic forms

ABSTRACT

Systems and methods are provided for populating user information onto an electronic form such as a word processing document, template, application-specific form or web page. Fields are identified on the electronic form and matched with fields stored in a continuously-updated user profile before the content of the matching fields are populated onto the electronic form. The electronic form may be stored within a central forms library and selected by the user for completion, while a third-party form presented as a word processing document, template, application-specific form or web page may be populated using an application extension which communicates with an application, browser or third-party service to identify and populate the form fields. Additionally, a mobile application provides for physical forms to be captured by a camera on a smartphone or tablet, after which the fields are identified and populated onto the captured image of the form.

BACKGROUND

1. Field of the Invention

Various embodiments described herein relate generally to the field ofelectronic management of information, and more particularly topopulating user information on an electronic form, document, webpage orelectronic media.

2. Related Art

The vision of a paperless modern society is quickly becoming a reality,as more and more communications, services and transactions take placedigitally across networks such as the Internet. The need for papercopies of correspondence, financial documents, receipts, contracts andother legal instruments is dwindling as electronic methods for securelytransmitting, updating and accessing these documents increases. Inaddition to the electronic transmission and access to documents andcorrespondence, the process of electronically submitting information isalso commonplace, such as with online shopping or applications forloans, credit cards, health insurance, college or job applications, etc.

However, much of the information required in these forms is common toother forms, and yet users manually repeat populating the form inputswith the same information over and over again. The ability to collect,organize, update, utilize and reapply the input information required inthese electronic documents, forms and applications remains highlydifficult. While some applications have been developed to store certainbasic information about a user—such as the user's name, address andfinancial information—the ability to organize, access and apply thisstored information for additional online activities remains verylimited, especially when detailed input information and/or computationsare required to complete forms such as college applications and familylaw declarations.

There are several programs or applications that allow a user to trackfinancial information, budget, forecast, balance spending accounts, etc.While these tools can save time and provide effective tools forbudgeting etc., they do not address the numerous circumstances in whicha user is required to provide personal information, financialinformation, forecasts, categorized expenditures, etc., in a specificformat or in accordance with specific forms, etc.

For example, when someone gets divorced, they must provide the courtwith detailed personal and financial information, both of past recordsas well as projected needs. This information has to be provided in avery specific state-mandated format using a specific form and it must beupdated and submitted to the court at various points during the divorceprocess, which may last over a long period of time. For example, FIG. 1illustrates one page of an Income and Expense Declaration that bothpetitioner and respondent must fill out in a California divorceproceeding. The amount and complexity of the information needed for aform such as this typically requires the person completing the form—suchas the party to the divorce or an attorney—to spend a significant amountof time obtaining all of the needed information and even performingcalculations of information to obtain the desired values. As anotherexample, when a user wishes to get a loan, such as a car loan ormortgage, the organization providing the loan will often require theuser to provide and update certain financial records and informationorganized in a certain format.

Even well-organized, financially savvy users using currently availablepersonal financial software tools find completing and updating theseforms to be burdensome, time-consuming, confusing, and susceptible tomistake. The applicable forms and other applicable items require muchmore than basic financial information. Additionally, there is asignificant need to accurately complete these forms, as the forms canobviously have a significant impact on whether the applicant qualifiesfor financial aid, a loan, etc., or receives a favorable outcome in adivorce or other legal proceeding.

These same challenges apply to other critical life events, such asapplying to, and/or paying for college. The college application processis a high anxiety time for students and very often, their parents. Thereis a lot of detailed information required to complete college andfinancial aid applications, including but not limited to essays,transcripts, letters of recommendation, activities, photos, etc. Also,college applications and financial aid opportunities have many differentdeadlines. It is very difficult to stay organized and keep on top of allthe information, deadlines and applications submitted.

SUMMARY

Disclosed herein are systems and methods for populating user informationonto an electronic form by identifying fields on the electronic form andmatching the identified fields with fields stored in acontinuously-updated user profile, after which the content of thematched fields are populated onto the electronic form. The electronicform may be a word processing document, template, application-specificform or web page stored within a central forms library and selected bythe user for completion or provided by a third-party source viacommunication with an application, application extension, browser orthird-party service. Additionally, a mobile application provides forphysical forms to be captured by a camera on a smartphone or tablet,after which the fields are identified and populated onto the capturedimage of the form or a newly-created template.

In one aspect of the invention, a system for populating user informationon an electronic form comprises: a profile creation unit which creates auser profile of user information including a plurality of fields and aplurality of values for the plurality of fields which stores the userinformation; and an information populating unit which is configured to:identify at least one field on the electronic form; match the identifiedat least one field on the electronic form with at least onecorresponding field in the user profile; and populate the identified atleast one field on the electronic form with the value of the matchedcorresponding field in the user profile.

In another aspect of the invention, a method of populating userinformation on an electronic form, comprising the steps of: creating auser profile of user information including a plurality of fields and aplurality of values for the plurality of fields which stores the userinformation; identifying at least one field on the electronic form;matching the identified at least one field on the electronic form withat least one corresponding field in the user profile; and populating theidentified at least one field on the electronic form with the value ofthe matched corresponding field in the user profile.

Other features and advantages should become apparent from the followingdescription of the preferred embodiments, taken in conjunction with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments disclosed herein are described in detail withreference to the following figures. The drawings are provided forpurposes of illustration only and merely depict typical or exemplaryembodiments. These drawings are provided to facilitate the reader'sunderstanding and shall not be considered limiting of the breadth,scope, or applicability of the embodiments. It should be noted that forclarity and ease of illustration these drawings are not necessarily madeto scale.

FIG. 1 is an image of an Income and Expense Declaration form used in adivorce proceeding.

FIG. 2 is a block diagram illustrating a system for obtaining,classifying and populating personal information on electronic forms,according to one embodiment.

FIG. 3 is a diagram further illustrating the system for obtaining,classifying and populating personal information on electronic forms,according to one embodiment.

FIG. 4 is an illustration of the system involved in prepopulating fieldsof a document, according to one embodiment.

FIG. 5 is a screen shot of a graphical user interface illustrating abrowser extension for implementing the inventive system, according toone embodiment.

FIG. 6 is an image of a database table listing field identifyingnumbers, field names and field values, according to one embodiment.

FIG. 7 is an image of a database table of forms which are stored in thesystem for automatic completion, according to one embodiment.

FIG. 8 is an image of a database table which lists field names and fieldvalues on each form document stored in the system, according to oneembodiment.

FIG. 9A is a screen shot of a graphical user interface illustrating aweb interface for selecting a category of a document for prepopulatinguser information, according to one embodiment.

FIG. 9B is a screen shot of a graphical user interface illustrating aweb interface for selecting a specific document for prepopulating userinformation, according to one embodiment.

FIG. 10A illustrates a graphical user interface of a form with a uniquefield name that can be automatically identified, stored in the systemdatabase, according to one embodiment.

FIG. 10B illustrates a graphical user interface of the form of FIG. 10Awith a value of the unique field stored in the system database populatedinto the field, according to one embodiment.

FIG. 11 is an image of a database table which stores a field identifier,field name and field value for the unique field in the form illustratedin FIGS. 10A and 10B, according to one embodiment.

FIG. 12 is a flow chart illustrating a method of obtaining, classifyingand populating personal information onto an electronic form, accordingto one embodiment.

FIG. 13 is a block diagram that illustrates an embodiment of acomputer/server system upon which an embodiment of the inventivemethodology may be implemented.

The various embodiments mentioned above are described in further detailwith reference to the aforementioned figured and the following detaileddescription of exemplary embodiments.

DETAILED DESCRIPTION

The embodiments described herein provide for the collection,organization and use of information for automatically completing,updating and submitting complex electronic documents and online forms,such as online shopping checkout forms; applications for loans, creditcards, health insurance, college or jobs; government-mandated documentsrequired for legal proceedings (such as divorce or bankruptcy); andforms required for or by businesses and business owners. Information isobtained from a plurality of different sources and classified throughfield mapping and other information classification techniques to buildan organized database of information related to a user known as aninformation vault. The information is securely stored via encryption anddisassociation techniques in one or more user databases to ensure thesecurity of the information. A forms database is utilized for storingelectronic forms and documents as well as the field information neededto complete the form or document. The user can access their informationto automatically populate the fields of an online form or an electronicdocument by selecting a document from the forms database or by utilizinga browser plug-in to populate an online form being displayed in a webbrowser. The system may also be integrated with third party services andwebsites to populate information on the third party site via secureconnections to the user databases, while allowing the user to retain theinformation in our highly secure database.

The techniques described herein provide for the ability to quickly andaccurately complete, update and submit any type of form on any type ofcomputing device, as the user database builds a profile of the user thatincludes, for example, identification information, financialinformation, health information, contact information and historical userinformation that is classified with high accuracy to ensure that a formis populated with the correct information. The user retains full controlof any downloading, transmission, editing or deleting of theirinformation and only needs to enter and verify their information oncerather than repeat the same process over and over again.

The systems and methods described herein may be utilized by individuals,groups, entities, governments or businesses for various types ofinformation collection, management and entry. Individual users maypopulate online forms on their desktop, tablet, smartphone, etc., and beable to instantly complete the form. In one embodiment, the system maybe offered as a mobile application running on a smartphone, tablet orother portable electronic device that would enable a user to completeforms or other documents. With the difficulty of inputting informationusing small display screens and touchscreen devices, the ability toeasily populate information with a portable electronic device isparticularly advantageous. Businesses may organize and store informationto complete forms such as human resource forms, building permit forms,elevator license forms in various jurisdictions, etc. Although theexamples provided herein relate primarily to the use of the systems andmethods for individual users, the benefits and applications also extendto groups of users, entities, governments or businesses of any size andtype.

This solution is unique because once users enter their information once,the information is stored in their information vault, after which theycan use it forever for supplying information or completing any formsthat require the same repeat information. Non-limiting examples includenew patient forms for health care, college admissions applications,scholarship applications, financial aid applications, loan applications,medical questionnaires, job applications, insurance forms, legaldeclaration or proceeding documents, government benefit or servicerequests, personal health records, ecommerce checkout forms, membershipapplications, etc.

FIG. 2 illustrates one embodiment of a system 100 for obtaining,classifying and populating information onto electronic forms, inaccordance with one embodiment of the invention. Information is obtainedfrom one or more information sources 102 a-c, such as existing forms 102a, third party application interfaces 102 b or manual user entry 102 c.The information is then transmitted to a communications interface 104,where it is then classified by a server 106 and stored in one or moredatabases 108 as a user profile of the user's information. Thecommunications interface 104 may be in a local area network (LAN) withthe information sources 102 or at a remote location from the informationsources 102 through connection via the Internet or other wide areanetwork (WAN). The communications interface 104 will also include one ormore information processing units within the server 106 to process thecollected information, including a classification unit 106 a whichclassifies the information to identify fields applicable to theinformation and values for the fields; a profile creation unit 106 bwhich creates a user profile with the classified information; and aninformation populating unit 106 c which populates at least one formfield of an electronic form or database by matching the at least oneform field with the classified information. A field comparison unit 106d and a user activity collection unit 106 e may also be included, thefunctions of which will be described further below. Any of theaforementioned units may be located within separate servers or within asingle server, depending on the design of the overall system. The user,through any type of device 110 a-c, may then request that one or moreforms 112 be completed using the information in their profile. Any typeof device may be utilized by the user, including a laptop computer 110a, desktop computer 110 b, or a portable electronic device 110 c such asa tablet or smartphone. The user can interact with the communicationsinterface 104 through the device 110 to complete one or more forms 112a-c, such as an image viewer 112 a, a form displayed in aninternet-browser application 112 b, or a form displayed via anapplication 112 c running on the portable electronic device 110 c. Formsmay also be displayed directly in a browser window via HTML5-CSS3 or viaan application 112 c interfacing with the server 106 through one or moregraphical user interfaces (GUIs) 114 produced by the server 106 that aredisplayed on the device 110 c. As demonstrated herein, the forms may bepopulated directly on the user's device, through a browser extension,add-on browser application, or via an application programming interface(API) interacting with a third party service or application.

FIG. 3 is an illustration of a system diagram illustrating the securityprotocol of one configuration of the system. Users 116 can access thesystem via the various devices 110 described above, which are connectedwith the communications interface 104 via the Internet 118. Multipleservers and databases may be utilized and separated between variousfirewalls for increased protection of the user profile information toensure privacy and security. Users may initially be presented with a GUIshowing basic information that is considered the public-facing home site104 a of the communication interface 104 which is also protected by aninitial firewall 120 a. The initial firewall 120 a provides overallsecurity for the system and allows access to the user interface andexperience level (UI/UX) 104 b of the interface. The UI/UX 104 bincludes a web and interface server 106 f connected with a forms andapplications output database 108 a. A second firewall 120 b protects athird section of the communications interface known as the data accesslayer 104 c. The data access layer 104 c includes business level logicapplication servers 106 g connected with a database server 106 h whichmanages a secure client data element and historical archives database108 b and a mapped input forms database 108 c. Separate ID andauthentication servers 106 i are also enclosed within the data accesslayer 104 c, which are connected with an identification database server106 j which manages a secure client ID element database 108 d.

FIG. 4 illustrates one embodiment of the steps of populating fields 402of a form 404 by accessing information stored in the secure client IDelement database 108 d and the secure client data element database 108 bthrough database management software such as the information populatingunit 106 c the system components involved in populating an electronicform, where a separate client identification database and clientinformation database are utilized by software at the system server toobtain the information needed to populate an electronic form.

Details of the systems and methods are provided further herein withregard to the specific components and features.

I. Collecting Information and Forms

Information may be obtained from multiple different sources and inmultiple different formats in order to obtain a complete set ofinformation for a user. For example, the user information may beobtained by having the user complete a “master form” specificallydesigned to collect information that many of the forms require in avariety of categories (i.e., loan applications, online shopping, collegeapplications, divorce proceedings, etc.). The user information may alsobe collected from existing electronic or non-electronic records, such asfinancial institution databases, electronic health records, third partyinformation aggregation services (such as Mint.com®), or by the userfollowing simple instructions in the system's web-based user interface.The user may need to grant access to one or more of these existingelectronic records so that the relevant information can be obtained, andthe system may utilize specific Application Programming Interfaces(APIs) to communicate with the third party sites to obtain field andcontent information. For existing electronic records, it is likely thatthe information is already classified within a database with specificfield names or identifications such that substantial additionalclassification of the information is not needed; however, due to thecomplexity of many of the forms such as divorce filings and financialschedules, the database is able to overlay additional computations andreorganize the classifications so that they match the required output ofthe forms. For non-electronic records, the user may be able to scan ortake a picture of the non-electronic document and have the fields andfield values extracted through various technologies such as imageprocessing and content extraction software, as is known to one of skillin the art.

In one embodiment, the information may be obtained when a user manuallycompletes an electronic form or document. For example, as illustrated inFIG. 5, if the user completes a form 112 b displayed on aninternet-browser application, the application may include a browserextension 502 to allow for the form 112 b, fields 504 and content 506 ofthe fields to be captured, extracted, organized, classified and uploadedto the user's database for future use on the same or other forms. Thebrowser extension 502 may provide a popup menu 508 with a Copy Button510 to copy fields to the user profile, as well as a Fill Fields Button512 to populate data from the user profile to the form 112 b. Theinformation may be extracted and populated even for a complete form thatspans numerous pages. Blank forms and documents and other userinformation may also be directly uploaded to the system, where the formor document and its fields can be captured, mapped and stored astemplates. For example, a credit card application form may be uploadedto the system and stored in the Document Library Database, with the formfields identified so they can be mapped to the corresponding user fieldsin the database, either manually or using automatic mapping techniques.

Completed forms and documents may also be directly uploaded to thesystem, where the form or document, the fields and content of the fieldscan be captured and extracted. For example, a credit card statement or amortgage statement may be uploaded to the system, where the fields andcontent in the fields can be extracted and stored in the user database,although the document itself may not be since it is not a form. However,if a credit card application or a mortgage application is uploaded thedocument itself may be extracted and stored in addition to the fieldsand content to help the user and other users fill out the forms in thefuture.

FIG. 6 illustrates one embodiment of a database table 602 with the fieldinformation that is collected from a form that is input into the system.As information is sent from the form being worked on to the server, itgets stored in this table. When information is “pulled” from the serverand applied to forms, it comes out of this table. The form may be a formsuch as that illustrated in FIG. 1 and may have been completed by theuser such that the form fields have values already entered. As shown inFIG. 6, each field 604 on the form is provided a unique numericalidentifier 606 (customerFieldDefaults_Id) to distinguish it from otherfields. As shown in the right two columns, each field is also given afield name 608 (fieldName) and field value 610 (fieldValue). The fieldname may be the name encoded on the form itself which can be extractedfrom the form if it is on a website or an electronic form with fieldname metadata that has already identified the field name based on theprogrammer that created the original form. The field value (ifavailable) will obviously correspond to the content of the field. Theassociations between field names and field values (known as name-valuepairs) are important for classifying content and building the userprofile.

FIG. 7 illustrates a document library table 702 which stores a list ofdocuments 704 that are stored in the system. The documents each areprovided a document identification 706 (document_id), document title708, and path 710 to the document in an associated database. FIG. 8illustrates a database table 802 which stores the field names 804 ofeach document in the Document Library Table of FIG. 7. Note that thereis an option to set a default value for each field. For example, thisyear's tax form may have a default filing year of 2013. ThecommonFieldName 806 is a human-readable version of fieldName 804 in thecases where fieldName is obscure or poorly named by the original formdesigner. commonFieldName 806 allows the system to quickly match thefield with field names found in a typical customer's vault. ThecommonFieldName 806 provides for more simple mapping of fields withfield names found in a user profile.

Unique field names and values are stored and organized in the system forfuture use. FIGS. 10A and 10B are illustrations of an online form 1002with a unique billing code field 1004 in the “Billing” section 1006which requires the field value to be a unique 33 digit code. If the userhas not previously entered the code into the system (which is unlikelygiven that it is a unique code for a particular form), the user will berequired to manually enter the field value 1008 in the field 1004 whencompleting the form 1002 for the first time, as shown in FIG. 10B. Thesystem will pull the information on the field 1004 (and the value 1008entered by the user in that field) into the system and list them in adatabase table 1100, as illustrated by the table in FIG. 11. As shown inFIG. 11, there are two entries created for this field, as onecorresponds to the field name 1102 (digit) and one corresponds to thefield value 1104 (the 33 digit number). In one embodiment, an additionalline entry (not shown) is created to associate the radio button next tothe field with the field and the field value. This will be useful whenthe form is being populated in the future, as the system will know toactivate/select the radio button when filling in the field value.

In another embodiment, third party services and websites may provideinformation about forms and documents hosted on their own sites forstorage on the system, such as the field names and other document orform-identifying information. Thus, if the user is utilizing the thirdparty service and needs to complete a form or document of the thirdparty service, the user can request that the third party service obtainthe user's information from the user database for populating into theform or document at the third party site. The third party service canthen maintain their customized form or document on their website orapplication, and the user can ensure that the content populated into theform or document accurately corresponds to the content needed for eachfield since the third-party service provided the field information tothe system. Additionally, users are provided with additional security ofthe information, as the information is stored on the system databaserather than the third party service's database, reducing the chance thatthe information could be stolen from the third party service or site.

In another embodiment, the third-party service may integrate theembodied system within their website or application so that informationstored in the application or at a third-party server is shared with thesystem and utilized to complete forms and other documents. Similarly,the integration may provide for sharing of the user's information withthe third-party site or application for completion of forms or documentsat the third-party site.

Other sources of information may be used or envisioned, as would beapparent to one of skill in the art. As will be described further below,the information sources are used to build a profile of each user bycollecting information of the user from the various sources andcompiling the information into an organized list of information that canbe used to populate fields or supplement information of any type and onany form.

II. Organizing and Storing Information

The information obtained from the various information sources discussedabove is used to build a user profile of an individual user whichideally includes comprehensive information on the user's finances,contact information, health information and historical information. Theuser profile may include the user's name, birth date, age, current andpast addresses, phone numbers, e-mail addresses, social security orgovernment identification number, employment information (current andhistorical), salary, height, weight, race, bank account numbers, accountbalances, user names, passwords, education information, health risks,allergies, medications, etc. This list is by no means comprehensive. Theuser profile may also include information not directly related to theuser, such as a name and phone number of an emergency contact person,family names and relationships, service provider contact information andnotes, business contact information, business prospects, CRM, etc.

Access to the system may be provided by an application interface throughsoftware running on a computing device such as a desktop or laptop, orthrough an application running on a portable electronic device such as atablet or smartphone. Additionally, the system may be accessible over aweb-based application interface, where all of the user's information issecurely stored in a secure server facility in a cloud-based network.

In one embodiment, the information may be stored in at least two orthree separate databases that are purposely decoupled in order toprovide enhanced security by minimizing the risk of hacking into one ofthe databases. The databases may be divided into a Document LibraryDatabase which stores form and document templates, field information andother form properties; a Customer Personal Vault Database which storesthe information that includes the fields and field values for eachspecific user; a User Identity Database which stores informationrelating to the user's identity (separately from other information forsecurity reasons) and a Customer Orders and Completed Documents Databasethat stores previously-completed forms in terms of the fields and valuesthat were completed.

As will be described immediately below, the information will likely beclassified into distinct categories so that it can be accuratelypopulated or supplemented into an appropriate field of a form.Furthermore, as will also be described below, the potential risk oftheft of such a wealth of personal information is mitigated byspecialized proprietary encryption and storage techniques to prevent theinformation from being stolen or from being useful even if it is stolen.

Field Mapping

Identifying which information belongs in which fields within a form isone of the most difficult challenges for populating forms. While manyinformation fields contain names which easily and readily identify thevalue that belongs in that particular field, some names are ambiguouslynamed, some fields have slightly differing names between differentforms, some fields have identical names within the same document, andsome fields have multiple values associated with the same field.

There are at least three primary circumstances where information needsto be filled in that drive the following field mapping techniques. In afirst circumstance, a document library stores standard documenttemplates which may be copied into a user's workspace and filled inon-demand. The document library would in this case store the document'sfillable fields and possible default values in a “Fields” table. In asecond circumstance, fields and values unique to each user are appliedand mapped to blank documents. This set of unique user information willgrow over time into a large vault of information. In a thirdcircumstance, actual fields and values assigned to a document are filledin and saved by the user, such that the values are locked to a completeddocument. Some techniques for solving these problems are addressedbelow.

A first solution involves scanning the fields of a document and makingassociations and inferences as to a “best-fit” field name. In oneembodiment, this is completed by utilizing the “for” attribute of awebsite field code that associates form labels with a field box on thepage. For example, a field box with the ambiguous name “box00455x” maybe encoded as “label for=”firstname,” so that we can associate theobscure name and the field with the label for “first name.”

For a situation where there are multiple fields in a document or formwith the same or similar field names, the section of the document inwhich each field appears can be used to identify whether the values foreach field should be different. The system database may therefore storea “field section” entry as a category in the database for each field, sothat fields with the same name can be disambiguated based on whichsection they are in.

In some cases, a field name may be completely random and provide noindication as to how it maps to another field or a particular fieldvalue. The field names may be coded for another system which reads thespecific codes with a computer and a specialized numerical or letter keycode. For example, a “First Name” field may be named “fn0045586.” ForPDF documents stored in the document library, an additional “helper”attribute may be added to the field record called “commonFieldName.”When the document is inputted, the poorly named field will be manuallytranslated to something that is easily mapped. For this “First Name”example, our database will record the FieldName record as “fn0045586”and the “commonFieldName” as “First Name.” When a user selects thisdocument, our smart technology will recognize the commonFieldName andeasily map that to one of the user's field names that best matches“First Name.”

In a situation where a user has multiple values associated with the samefield name, a solution would be to provide a drop-down menu or otherselection method where the user can select which value to input into theparticular field. In an alternative embodiment, the field is populatedwith the most recently-used value or the most frequently-used value.

In another circumstance, different forms may have different ways torefer to the same user field name. A document may name a field one waywhile another document names the same field another way. For example, afirst document may have a field named “First Name,” while a seconddocument may have a field named “frame,” and yet a third document has afield named “firstname”—all of which are referring to the same field andshould contain the same value or content. To enable this association, auser FieldDefaults table in the system database is provided with a“userFieldCollections” record that lists the various field names thatare synonymous. For example, over time there will be multiple fieldsstored in the database each containing the same value. For example,assume each of these 3 “first name” fields will all have the value“Arthur.” A background process executed by the field comparison unit 106d of FIG. 2 will periodically scan the database for other fields withvalues of “Arthur” and identify those fields within the“userFieldCollections” table as duplicates. This table captures thevarious field names that are synonymous based on their common content.When any one of these fields is encountered in subsequent forms, theappropriate value of “Arthur” is used. In a second approach, we willpre-set the “userFieldCollections” table with commonly-grouped fieldvalues. For example, “firstname” and “First Name” are stored into thetable when the field called “firstname” is initially encountered. When asubsequent field called “First Name” in encountered, its value wouldhave already been stored and easily located through the“userFieldCollections” table.

In one example, a problem occurs when there are commonly labeled fieldnames, for example a field name labeled “myFirstName” and another field(likely in a different form) labeled “customerFirstName.” Since thesefield names clearly correspond to the same information (a user's firstname), in order to map “myFirstName” to “customerFirstName,” a machinelearning classification library is applied to learn from existing mappedfields from other users and then assign a recommended mapping between auser's field and a document's field.

Identity Disassociation

In order to protect the user's information from potential theft andmisuse, the system disassociates a user's identifiable information fromtheir other information. For example, the user's name, social securitynumber, birthday, employer identification, etc. is stored in a separatedatabase (or separate database table on the same database) from theuser's other information, such as their credit card number, bankaccounts, education, grades, etc. The identifiable information isadditionally stored without any logical connection to other identifiableinformation of the same user, such that each identity information fieldis effectively stored on its own island within the database. Each itemof information may furthermore be encrypted individually and then storedin a table anonymously with other information, without any indexing,organization or grouping of the table, so that the table is unable toprovide any useful information about a user on its own.

The encrypted information can only be decrypted with a key, andoptionally in some cases, the key is individually generated for eachseparate item of information so that the key cannot be misused to unlockother items. The key is stored in a separate database and may only beobtained when a user logs in with the correct password. Thus, bydisassociating the information that makes up the user's identity, it isimpossible to determine enough of a user's information to effectuateidentity theft simply from accessing the database and the tables listedtherein.

As an example, a user's social security number (SSN) stored on its ownand apart from other information (such as the user's name) is not usefulfor perpetuating identity theft. Given that the SSN is further encryptedinto an unrecognizable series of letters and numbers, the systemprovides two highly-secure methods of protecting the information storedin the database. In one embodiment, three separate databases are used toobtain information, and each database may be connected to the networkusing a separate server, which may be behind a separate firewall. Afirst database may be configured to store the user's username andpassword. If successful in entering the username and password, a secretkey is generated which will then be supplied to a second database whichis solely used to store secret keys for each user. A third databasemaintains the actual information and must be unlocked with the secretkey from the second database in order to be read through an encryptedmapping to re-associate the islands of information.

Automatic User Profile Updates

The system may be configured, in one embodiment, to automaticallyclassify and store any inputted information into the user's profilewithout requiring a specific indication from the user. Additionally, asuser information will continue to be obtained during the user's normalactivities, newly-input information will either act to update existinginformation or be added to a list of values for the same informationfield that the user can then select from when populating a form.

The user's information may be stored in its own database known as thepersonal information vault, and therein within a table called“customerFieldDefaults.” The customerFieldDefaults table will usuallycontain the most current information for the user.

Deriving User Information

In one embodiment, existing user profile data may be analyzed to deriveadditional related information. The additional related information maybe derived by performing comparisons or calculations of existing data,such as by analyzing financial data to determine a budget of regularincome and expenses. In addition, the additional related information maybe derived from external sources in order to provide the user with amore complete picture of certain aspects of their profile. For example,if a user enters a list of assets into their user profile that includesa vehicle year, make and model, the system may obtain an estimated valuefor the vehicle from an external database or third party service. Inanother example, if the user enters the title of a collectable piece ofartwork, the system may obtain additional information on the art, suchas the artist, year produced and an estimated value. This informationcould be used to fill out an insurance application or a claim for theitem in the event of a loss.

Analyzing User Information

In one embodiment, the user activity collection unit 106 e of FIG. 2monitors user activity (such as information inputs, forms filled, etc.)when using the system and generates, collects and stores predetermineddescriptive codes, based on their activity and information, into aseparate database. The codes may correspond to a user's current lifestatus, demographic profile, preferences, financial balances, and otherparameters which are associated with a user's account, but do notcollect, disclose, or compromise their specific information. These codescan subsequently be used to determine targeted marketing and otherstrategies for that user for promoting third-party product and serviceofferings, which effectively better target their needs and desires forthose products or services. The codes may also be provided with aconfidence value relating to the likelihood that the code applies to theuser based on factors relating to the type of form, the use of otherrelated forms, etc.

For example, a user completing a college application may generate a codethat relates to the likelihood that the user is about to enter college,which will then provide opportunities to market college-related productsor services to the user. If the user completes a college application anda financial aid application, the confidence value relating to the codeindicating that the user is about to enter college may jump higher. Thismay be used to present an advertisement to the user within the graphicaluser interface that is targeted to their life status, such as an ad fora college.

Archiving of Populated Information

Each time the user populates information into a form, the system cansave the final version of the form within a specific database tableknown as the customerFieldContent. The information stored in the formcan be locked and will not be updated as other user information isupdated, unless the user specifically accesses the previously-completedform, edits the form itself and creates a new version. The storedcompleted forms may be time and date stamped, to create a completearchive of the user's activities within the system.

Shared Family Information and Group Plan/Company Plan Information

In one embodiment, the user's information may be shared with otherrelated parties that would like portions of their profiles to be shared.For example, spouses, children, parents, brothers and sisters and otherfamily members may share similar information, such as addresses,telephone numbers, family history, etc. that will also be universallyupdated if one of the items is changed. This will provide convenience inavoiding entering repetitive information among family members and allowfor global updates to shared information and allow family members tocollaborate on an application, such as the FAFSA (Free Application forFederal Student Aid). The FAFSA application has certain sections for theStudent to complete and other sections that Parents are required tocomplete. Another example is children applying for college can accessshared family information that another sibling has already input intothat sibling's user profile, such as addresses, parents' names,occupations, etc. Furthermore, if a family moves, an update to the homeaddress by one family member may be updated or offered for updatingacross the other family members in the same group who also had anidentical home address previously listed. Similarly, various employeesof a company could collaborate in order to complete the company'sgovernment or other filings or reports; in another example, a databaseof health records for one generation of a family could be transferred toa second generation to provide information to the second generationabout potential genetic health information.

To effectuate the family or company sharing option, information fromeach family/company member could be stored in a separate vault of thedatabase, and the database would then form links between commoninformation among the family/company members so that each member canmaintain the privacy of their separate information.

III. Populating Electronic Forms

Selection of Stored Forms

When the user is ready to complete a form or document, the user canselect one of several methods. If the form or document is stored in theforms database at the system server, the user can select the form from alist of document categories 902 or specific documents 904, asillustrated in the attached graphical user interface of a web-basedapplication interface 900 in FIGS. 9A and 9B. In addition, the user maybe able to search for the form using a search tool or browse through thecategories 902 to find the form based on the type of form (financial,academic, health care, etc.).

Application Extension

In one embodiment, an application extension is provided for quick accessto populate a form being viewed in an application window, as shown inthe attached illustration of a graphical user interface of a browserextension drop-down menu in FIG. 5. The extension may be displayed as anicon, menu item, supplement or otherwise in the application menus orelsewhere, and upon selection of the icon, a window opens with optionsto populate information from the user's profile to the fields displayedin the application window. The application may be an Internet browser, aword processor, image viewer, spreadsheet or presentation software,although these examples, as all examples and embodiments herein, are notlimited hereto.

In another embodiment, as discussed in Section I, above, an applicationextension may also be used to extract information from or supplement aform, document or webpage being displayed in an application window. Thisextracted information can be uploaded to the user's personal informationdatabase.

In another embodiment, an application extension may also be used todisplay, and allow for modification of, user stored contact, CRM and/orcontact related information related to form-fields recognized by thesystem while viewing a third party website such as on LinkedIn™Facebook™ or Zillow™ websites. In one example of this embodiment, a useris shown a pop-up or drop-down window while viewing one of theirLinkedIn™ contact which allows them to view, modify, or directly addunique and private information about that particular contact back intotheir personal user database, without necessarily sharing thatinformation with LinkedIn™ or the other users of LinkedIn™. Essentially,the user is augmenting the LinkedIn information with the user's personalnotes on that contact, and securely storing that information forpersonal use in their information database. In another example, a userdefined as operating a real-estate business is shown a pop-up ordrop-down window while viewing a specific listing on Zillow.com™ whichallows them to view, modify, or directly add unique and privateinformation about that particular property back into their personal userdatabase. This allows the real-estate business user to collect usefulbusiness information (e.g., the list of clients shown a particularproperty, listing details, showing schedules, etc.) which may enablethem to be more effective in their business.

Third-Party Application Integration

A third-party service provider may also incorporate access to the systeminto their own application, such as a web-based application or a mobileapplication running on a portable electronic device. For example, awebsite run by an academic institution may integrate access to thesystem into their application for applying for admission, such that uponloading the admissions application, the user can log in and then accesstheir information to populate the admissions application directlythrough the website. In addition, an internet shopping website mayintegrate access to the system database so that when the user is readyto check out and purchase goods or services from the website, a button,link or authentication dialogue will be available for the user to selectand then populate their information onto a payment screen.

The integration with the third-party application may provide additionalsecurity to the user, as it may be configured so that the third-partyservice provider cannot view or store the user's information, andinstead only requests it from the system database at checkout and thendeletes it once the transaction is complete.

The applications may be offered as standalone products or as web-basedproducts and services. In one embodiment, the application may be offeredas a portable document format (PDF) filler application, where theapplication operates to populate information in a PDF document. The PDFfiller may be a web-based application or integrated as a browserextension, as has been previously discussed. The application may also beoffered as a web-based form filler that is designed to complete formsand documents found online. Additionally, the system may be offered as amobile application running on a smartphone, tablet or other portableelectronic device that would enable a user to complete forms or otherdocuments. With the difficulty of inputting information using smalldisplay screens and touchscreen devices, the ability to easily populateinformation with a portable electronic device is particularlyadvantageous. For example, users who are using their mobile device tomake a purchase often find it difficult to enter all of their contactinformation and payment information on a small screen (in addition tohaving to remember it). The ability to instantly complete theseecommerce form fields will be particularly advantageous to the mobileuser. In another example, a user visiting an urgent care or emergencyroom facility may be required to fill out several forms, and couldinstead be provided with a website to access the forms and utilize theinventive systems to populate the form fields and submit the formonline. The mobile-based applications may be standalone or integratedinto other mobile applications or native device applications. Forexample, in one embodiment, the system may be integrated with the cameraof a portable electronic device, such that a user can take a picture ofa blank form or document and utilize the system to populate the formfields before transmitting the completed document.

In another embodiment, a third party application may integrate with thesystem and the user profile to provide a partial or complete transfer ofuser profile data from the system to a third party user profile withoutrequiring the user to view a form with the fields in the third partyuser profile. For example, a user who signs up for a third party servicesuch as a social media service or an ecommerce service may be asked tocomplete a user profile simply by requesting that their user profilegenerated on the system be transferred to the third party applicationand corresponding server and database. The user may only need to selectan option to instantly transfer all of their user profile information tothe third party user profile without needing to view the web-based formcorresponding to the user profile. The instant transfer may be completedby having the third party application send a list of field names to theserver, which will then access the database tables to identify the valueor values corresponding to the matching field names stored in the userprofile. The matching field values will then be transferred back to thethird party application server and database to complete the third partyuser profile.

Additional methods of transferring select user profile informationautomatically to another form, database, device or destination may beprovided, and would eliminate the need for the user to manually reviewthe form fields and content as it is being filled in or transferred toanother location.

Form Completion Indicator

In one embodiment, the user may be provided with a form completionindicator which indicates how much of a form can be filled from theinformation in the user profile. The form completion indicator may bedisplayed alongside a list of possible forms that the user is selectingfrom, so that the user can determine which form is easiest to populatebased on the form completion indicator. The indicator may be a symbol,color or even just a numerical value indicating the percentage of fieldsin the form which will be filled in from information stored in the userprofile. The form completion indicator will be updated in real time andhelp the user select a form from the forms database or an online webform which is easiest to automatically populate and has few manualentries. The completion indicator may also provide the user with anindication of how much of a given category has been mapped or how muchwork is required to complete the unfilled fields.

Manual Input Interface

Although the system will populate any field for which it hasinformation, certain fields may have no values or may have multiplevalues, in which case the field will not be automatically filled. Inthis situation, the user must take some action in order to populate thefield. One embodiment for populating the form fields may be aided byvoice, touch, gestures or an input device—or a combination of any of thethree. The voice and touch input eliminates the need for any manualtyping of any information being input into a form. Voice input may beutilized through a microphone on the computing device, while the touchand gesture inputs may be made through a touchscreen, touchpad, imagecapture device or motion capture device. The input device includes amouse, stylus or other peripheral device connected with the computingdevice which permits a selection to be made on the graphical userinterface.

In one embodiment, manual input of a value for a field may be completedby displaying a separate window, such as a pop-up or drop-down menu,with options for values that the user can speak, touch or select withthe input device. The interaction may include one or more separate inputtypes, such as touching the field on a touch screen to generate thewindow and then speaking the name of the desired value from a list offield values. Form input fields may also display windows with tips orannotations associated with the system database to assist users incompleting a form. In one embodiment, a touch input on the field willinitiate an input via voice, while a “touch and hold” input willinitiate the display of the separate window with multiple possiblevalues.

The need for manual input will arise whenever the user profile lacks avalue for a field, or even when the system is designed to select abest-fit value from multiple possible values based on one or morecriteria. The user may be provided with the option to manually input avalue in a particular field if no value exists or in order to overridethe automatically filled value. For example, a user may list multipledifferent allergies in their user profile (i.e. eggs, bees and cats)such that a form field labeled “food allergies” may be too specific forthe system to determine which value of the listed allergies should beautomatically input. The system may use data from previous user entriesby other users to determine that “eggs” is the most likely candidate.However, the user will then be provided with the option to select thefield to generate the separate window and then select from the list ofallergies in order to correct the selection—for example by adding “bees”or “honey” to the list if the user is allergic to food products made byhoney. If the user has no field values stored for the field name“allergy,” the user may be prompted to manually input a field value witha physical keyboard or touchscreen keyboard interface, through selectinga category to provide a list of options in one or more drill-down menus,or by simply speaking the desired value and letting voice recognitionsoftware interpret the voice command and input the appropriate value.The user may also be able to speak a partial keyword for the form fieldwhich will then display the separate window with possible values thatinclude the partial keyword. A lookup algorithm may be provided toassociate keywords with possible related values.

As previously discussed, one application for a touch and voice inputwould be the ability to touch a specific form field and then speak thevalue that should be input into the field. Alternatively, the user canfirst speak the name of the field if the system cannot identify thefield name, which will cause the system to populate the value for thespoken field name from the user profile. If no field value exists forthe field name, the user could also then speak the value for the field.If the value entered is a new value, the system will store the value inthe user's profile for future use. In one example, a user filling out anautomobile insurance claim and needing to enter a vehicle identificationnumber (VIN) may be able to touch the field box labeled “VIN” and thenstate “VIN number” or a similar command, after which the system databasewill populate the field with the stored VIN number. In anotherembodiment, selecting a value to populate in one field may also populatevalues in related fields. For example, during an eCommerce checkoutphase, an on-line merchant prompts the user to input a credit card bydisplaying a field with such name. The user touches the field on theirmobile touch-device and speaks the word “Chase Visa” and the user'sChase Visa card number, name on that card, card expiration date, andcard security code (CSV) are all filled into the associated fields onthe checkout form. The advantage to the user is that they need not storeany personal credit card numbers with any on-line merchants, yet canstill experience a speedy and secure shopping checkout. In addition, asuser credit cards expire and are replaced or updated, there is no needfor the user to remember to visit each merchant site just to update cardchanges as those are all stored in one location and securely on thesystem database.

In another embodiment, if a field has multiple possible values, the usermay be able to touch or speak the field name and then touch, speak orselect with a mouse input one of the list of values that is displayed ina drop-down menu or the like. Similarly, if multiple fields have thesame name but are in different sections of a form, the user can speakthe name of the section and then the name of the field in order toselect a value for the specific field desired. Additional functionalityincludes the ability to touch or speak a form field and then search forvalues using keywords.

In addition to gestures, touch and voice inputs, the manual input offield values may also be made through specific types of movements in adevice configured with a gyroscope or accelerometer which can detectdirectional movement and velocity. In one embodiment, a user may be ableto shake the device (such as a smartphone or tablet) in order to havethe user interface find or populate certain fields. For example, theuser can shake the device to populate a blank form, and a more specificgesture such as a vertical tilt will find a particular field name andprovide the user with a window and several options for field values topopulate into the field name (such as a credit card field name and alist of different credit cards which the user can select from for anelectronic transaction).

In another embodiment, if an entire form, or if one or more fields in aform, have not been completely mapped and/or stored in the system, thenthe user may be able to touch or speak each unmapped field name and thentouch or speak one of the list of categories, sub-categories, andspecific category database fields to associate with this form field tothe database field. The system may also collect and associate multipleuser mappings of form fields to database fields using machineintelligence algorithms and then store the associated field mappingswith the form into the forms database, thereby providing for anaccurately mapped new form for use by all users of the system. Thisembodiment allows for system users to independently add, and map, newforms that are not currently in the system for the benefit of all systemusers. Additionally, it allows for system users to independently mapweb-form-fields to the database category fields for web-forms that havenot yet had their fields mapped (associated) in the system for thebenefit of all system users.

Storing Modifications

In one embodiment, if the user manually alters a field value for aparticular field after the system has populated the field, the systemwill denote the changed value and store the newly-input value in thesystem database, preferably in the information vault of the user'sprofile. The user can therefore update their profiles automaticallywhile changing the information being input into a form.

Methods and Applications

Although several applications for the systems and methods have beendescribed above, the applications for the systems and methods should notbe considered limited thereto. The systems and methods may beparticularly applied for the completion of complex forms and documentswhich have a variety of form fields, require a significant amount ofinformation or have similar or confusing names and field identifiers.College applications, loan applications, income and expense declarationsfor family law matters, health care forms and the many forms requiredfor and by small business owners are potential applications that wouldprovide significant improvements in time savings and accuracy ofinformation (not to mention ease frustration or reduce redundancy) byuse of the exemplary systems described herein.

One embodiment of a method of obtaining, classifying and populatingelectronic forms is illustrated by the flow diagram in FIG. 12. In afirst step 202, the information is obtained from one or more sources ofinformation, such as existing forms, third party APIs, etc. Theinformation is then classified in step 204 to determine at least onefield to which the information belongs to and to associate theinformation with the at least one field. The plurality of associatedinformation is then aggregated into a user profile in step 206 andsecurely stored in one or more databases. When a user requests that aform be completed through one of the client interfaces, the informationin the user profile is matched with the form fields on the form and theinformation is populated onto the form in step 208. In step 210, if theuser manually enters values into any form fields, and these values aredifferent from the user's information as currently stored in theirsecure database, then these new values will be saved into the user'ssecure database. The user's profile can be optionally updated to reflectthe new value as being the default or primary value for the field.

IV. Computer-Implemented Embodiment

FIG. 13 is a block diagram that illustrates an embodiment of acomputer/server system 1300 upon which an embodiment of the inventivemethodology may be implemented. The system 1300 includes acomputer/server platform 1301 including a processor 1302 and memory 1303which operate to execute instructions, as known to one of skill in theart. The term computer-readable storage medium” as used herein refers toany tangible medium, such as a disk or semiconductor memory, thatparticipates in providing instructions to processor 1302 for execution.Additionally, the computer platform 1301 receives input from a pluralityof input devices 1304, such as a keyboard, mouse, touch device or verbalcommand. The computer platform 1301 may additionally be connected to aremovable storage device 1305, such as a portable hard drive, opticalmedia (CD or DVD), disk media or any other tangible medium from which acomputer can read executable code. The computer platform may further beconnected to network resources 1306 which connect to the Internet orother components of a local public or private network. The networkresources 1306 may provide instructions and information to the computerplatform from a remote location on a network 1307. The connections tothe network resources 1306 may be via wireless protocols, such as the802.11 standards, Bluetooth® or cellular protocols, or via physicaltransmission media, such as cables or fiber optics. The networkresources may include storage devices for storing information andexecutable instructions at a location separate from the computerplatform 1301. The computer interacts with a display 1308 to outputinformation to a user, as well as to request additional instructions andinput from the user. The display 1308 may therefore further act as aninput device 1304 for interacting with a user.

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notof limitation. The breadth and scope should not be limited by any of theabove-described exemplary embodiments. Where this document refers totechnologies that would be apparent or known to one of ordinary skill inthe art, such technologies encompass those apparent or known to theskilled artisan now or at any time in the future. In addition, thedescribed embodiments are not restricted to the illustrated examplearchitectures or configurations, but the desired features can beimplemented using a variety of alternative architectures andconfigurations. As will become apparent to one of ordinary skill in theart after reading this document, the illustrated embodiments and theirvarious alternatives can be implemented without confinement to theillustrated example. One of ordinary skill in the art would alsounderstand how alternative functional, logical or physical partitioningand configurations could be utilized to implement the desired featuresof the described embodiments.

Furthermore, although items, elements or components may be described orclaimed in the singular, the plural is contemplated to be within thescope thereof unless limitation to the singular is explicitly stated.The presence of broadening words and phrases such as “one or more,” “atleast,” “but not limited to” or other like phrases in some instancesshall not be read to mean that the narrower case is intended or requiredin instances where such broadening phrases may be absent.

What is claimed is:
 1. A system for populating user information on an electronic form, comprising: a profile creation unit which creates a user profile of user information including a plurality of fields and a plurality of values for the plurality of fields which stores the user information; and an information populating unit which is configured to: identify at least one field on the electronic form; match the identified at least one field on the electronic form with at least one corresponding field in the user profile; and populate the identified at least one field on the electronic form with the value of the matched corresponding field in the user profile.
 2. The system of claim 1, wherein the electronic form is stored in a central forms library of a server.
 3. The system of claim 1, wherein the electronic form is stored in a remote database.
 4. The system of claim 1, wherein the electronic form is provided by one of: an application, an internet browser and a third-party service.
 5. The system of claim 4, wherein the information populating unit interfaces with the application, internet browser or third-party service via an application programming interface (API), browser extension or plugin.
 6. The system of claim 1, wherein the electronic form is selected from at least one of: a word processing document, a template, an application-specific form and a webpage.
 7. The system of claim 1, wherein the matched corresponding field in the user profile contains a plurality of values, and wherein the information populating unit selects one of the plurality of values to populate into the matching at least one field based on other fields in the electronic form.
 8. The system of claim 1, wherein the electronic form is created by capturing an image of a physical form from a portable electronic device and identifying the at least one field based on an optical character recognition.
 9. The system of claim 1, wherein the electronic form populated with the value of the matched corresponding field, a name of the electronic form and a date the electronic form was populated is stored in a user profile archive.
 10. The system of claim 1, wherein the information populating unit provides a form completion indicator which displays a visual indication of a number of the at least one field which can be populated on the electronic form.
 11. A method of populating user information on an electronic form, comprising the steps of: creating a user profile of user information including a plurality of fields and a plurality of values for the plurality of fields which stores the user information; identifying at least one field on the electronic form; matching the identified at least one field on the electronic form with at least one corresponding field in the user profile; and populating the identified at least one field on the electronic form with the value of the matched corresponding field in the user profile.
 12. The method of claim 11, further comprising storing the electronic form in a central forms library of a server.
 13. The method of claim 11, further comprising storing the electronic form in a remote database.
 14. The method of claim 11, wherein the electronic form is provided by one of: an application, an internet browser and a third-party service.
 15. The method of claim 14, wherein the information populating unit interfaces with the application, internet browser or third-party service via an application programming interface (API), browser extension or plugin.
 16. The method of claim 11, wherein the electronic form is selected from at least one of: a word processing document, a template, an application-specific form and a webpage.
 17. The method of claim 11, wherein the matched corresponding field in the user profile contains a plurality of values, and wherein one of the plurality of values is selected to populate into the matching at least one field based on other fields in the electronic form.
 18. The method of claim 11, further comprising capturing an image of a physical form from a portable electronic device to create the electronic form and identifying the at least one field based on an optical character recognition.
 19. The method of claim 11, further comprising storing the electronic form populated with the value of the matched corresponding field in a user profile archive along with a name of the electronic form and a date the electronic form was populated.
 20. The method of claim 10, wherein the information populating unit displays a form completion indicator which displays a visual indication of a number of the at least one field which can be populated on the electronic form. 